home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 005 / reciept.arc / RECEIPT.BAS (.txt) next >
Encoding:
GW-BASIC  |  1986-07-08  |  3.1 KB  |  104 lines

  1. 100  REM Cash Register Receipt Printer
  2. 110  REM
  3. 120  REM This program uses the capability of a dot-matrix printer to print
  4. 130  REM      a register receipt
  5. 140  REM
  6. 150  REM To use, review the printer control strings and sales tax rate
  7. 160  REM      constants at the beginning of the program and alter as
  8. 170  REM      necessary
  9. 180  REM
  10. 190  DIM IT$(100)                          'Item Desc  Array
  11. 200  DIM IP(100)                           'Item Price Array
  12. 210  LIM = 100                             'Array Size
  13. 220  TXR = 0.05                             'Sales Tax Rate
  14. 230  EPS$ = CHR$(14)                       'EPSON Start Expanded Print
  15. 240  EPE$ = CHR$(20)                       'EPSON End   Expanded Print
  16. 250  TPS$ = CHR$(27) + "S" + CHR$(1)       'EPSON Start Tiny Print
  17. 260  TPE$ = CHR$(27) + "T"                 'EPSON End   Tiny Print
  18. 270  LI6$ = CHR$(27) + "2"                 'EPSON Six   Lines/Inch
  19. 280  LI8$ = CHR$(27) + "0"                 'EPSON Eight Lines/Inch
  20. 290  CLS
  21. 300  PRINT "Cash Register Receipt Generator"
  22. 310  PRINT " "
  23. 320  PRINT "                 0    1    1"
  24. 330  PRINT "             ....5....0....5"
  25. 340  INPUT "Store Name ";ST$
  26. 350  IF (LEN(ST$) < 15) THEN GOSUB 1010
  27. 360  IF (LEN(ST$) > 15) THEN ST$ = MID$(ST$,1,15)
  28. 370  PRINT " "
  29. 380  PRINT "             99/99/9999   CR=";DATE$
  30. 390  INPUT "New Date   ";DT$
  31. 400  IF DT$=""  THEN DT$=DATE$
  32. 410  MM$ = MID$(DT$,1,2)
  33. 420  DD$ = MID$(DT$,4,2)
  34. 430  YY$ = MID$(DT$,9,2)
  35. 440  IX=0
  36. 450  ITC = 0
  37. 460  PRINT "                 0    1    1         +  = Repeat Last Item and Price"
  38. 470  PRINT "             ....5....0....5....     CR = End Items Input"
  39. 480  INPUT "Item Desc  ";IT$(IX)
  40. 490  IF IT$(IX) = "" GOTO 590
  41. 500  IF (IT$(IX) = "+") AND (IX > 0) THEN IT$(IX) = IT$(IX - 1):IP(IX) = IP(IX -1):GOTO 560
  42. 510  IF (LEN(IT$(IX)) < 19) THEN GOSUB 1070
  43. 520  IF (LEN(IT$(IX)) > 19) THEN IT$(IX) = MID$(IT$(IX),1,19)
  44. 530  PRINT " "
  45. 540  PRINT "             9999.99"
  46. 550  INPUT "Item Price ";IP(IX)
  47. 560  ITC = ITC + 1
  48. 570  IX = IX + 1
  49. 580  IF (IX > LIM) OR (IX = LIM) THEN GOTO 590 ELSE GOTO 460
  50. 590  L1$ =  "|--------------------------------|"
  51. 600  L2$ =  "|                                |"
  52. 610  STL$ = "| " + EPS$ + ST$ + EPE$ + " |"
  53. 620  DTL$ = "| "+ TPS$ + "          " + MM$ + "/" + DD$ + "/" + YY$ + "            " + TPE$ + " |"
  54. 630  LPRINT LI6$;
  55. 640  LPRINT L1$
  56. 650  LPRINT L2$
  57. 660  LPRINT STL$
  58. 670  LPRINT L2$
  59. 680  LPRINT DTL$
  60. 690  LPRINT LI8$;
  61. 700  LPRINT L2$
  62. 710  TOT = 0
  63. 720  FOR I=0 TO (ITC - 1)
  64. 730  LPRINT "| ";TPS$;IT$(I);
  65. 740  LPRINT USING "######.##";IP(I);
  66. 750  LPRINT " +";TPE$;" |"
  67. 760  TOT = TOT + IP(I)
  68. 770  NEXT I
  69. 780  LPRINT L2$
  70. 790  LPRINT "| ";TPS$;"SUB-TOTAL          ";
  71. 800  LPRINT USING "######.##";TOT;
  72. 810  LPRINT " S";TPE$;" |"
  73. 820  STX = TOT * TXR
  74. 830  LPRINT "| ";TPS$;"SALES TAX          ";
  75. 840  LPRINT USING "######.##";STX;
  76. 850  LPRINT " +";TPE$;" |"
  77. 860  LPRINT L2$
  78. 870  TOT = TOT + STX
  79. 880  LPRINT "| ";TPS$;"TOTAL              ";
  80. 890  LPRINT USING "######.##";TOT;
  81. 900  LPRINT " *";TPE$;" |"
  82. 910  LPRINT LI6$;
  83. 920  LPRINT L2$
  84. 930  LPRINT "| ";EPS$;"   Thank You   ";EPE$;" |"
  85. 940  LPRINT L2$
  86. 950  LPRINT L1$
  87. 960  INPUT "Do Another Receipt (Y/N)";R$
  88. 970  IF R$="Y" OR R$="y" THEN GOTO 290
  89. 980  LPRINT CHR$(12);                           'Final Form Feed
  90. 990  GOTO 1120
  91. 1000  REM Adjust Length of Store Name to Fill 15 Characters
  92. 1010  CT = 15 - LEN(ST$)
  93. 1020  FOR I=1 TO CT
  94. 1030  IF (((I/2) - (INT(I/2))) = 0) THEN ST$ = ST$ + " " ELSE ST$ = " " + ST$
  95. 1040  NEXT I
  96. 1050  RETURN
  97. 1060  REM Adjust Length of Item Description to Fill 19 Characters
  98. 1070  CT = 19 - LEN(IT$(IX))
  99. 1080  FOR I=1 TO CT
  100. 1090  IT$(IX) = IT$(IX) + " "
  101. 1100  NEXT I
  102. 1110  RETURN
  103. 1120  END
  104.